1. Technical Field
This invention generally relates to computer systems, and more specifically relates to apparatus and methods for sharing information between computer systems.
2. Background Art
Since the dawn of the computer age, computer systems have evolved into extremely sophisticated devices, and computer systems may be found in many different settings. The widespread proliferation of computers prompted the development of computer networks that allow computers to communicate with each other. With the introduction of the personal computer (PC), computing became accessible to large numbers of people. Networks for personal computers were developed that allow individual users and software applications to communicate with each other over the network. One network that has become very popular is the Internet.
A web site may be comprised of many different computer systems that cooperate to provide the impression of a single computer system that serves up the requested pages as a user browses the web site. For example, IBM has a domain at http://www.ibm.com that is made up of many different computer systems at many different locations. One portion of the IBM web site may be for public use, another for use by vendors or business partners, and yet another for use by employees.
Due to security concerns, many web sites require a user to enter a user name and password before allowing the user to access a portion of the web site. When a web site is made up of different computer systems that have different authentication and authorization systems, the user may be prompted multiple times to enter a user name and password. Needless to say, when a user clicks on a link that is still in the same domain, the user will likely be frustrated at having to repeatedly enter the same authorization information before being allowed to access different portions of the site.
IBM has solved the problem of being prompted multiple times with a single sign-on (SSO) system that provides a common mechanism for compatible programs to access previously-entered security information rather than prompting the user for the information each time it is needed. However, the single sign-on system requires that each application be compatible with the common security mechanism, making it unusable in many situations where incompatible applications are running.
Another problem that exists in networked computer systems is the need to share information between software applications during a user session. If application A needs to access data produced by application B, the most common way to share the information between the applications is to design an interface that allows the two to communicate. This requires modification of both applications, and results in a custom interface that may not be suitable for communication between other applications. The result is a custom solution that must be replicated for each set of applications that need to communicate with each other. Of course, data could be stored in a central database that different applications could access. However, data in a central database would survive beyond the current user session, and would therefore not be practical for data that need only be maintained during a user session. Without a mechanism and method that provides globally persistent data that may be shared between applications during a user session, and that is invalidated when the user session terminates, the computer industry will continue to suffer from inefficient methods for sharing information between software applications.